﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BW.WMS.Application.Features.Product.Dtos
{
    /// <summary>
    /// 商品列表
    /// </summary>
    public class ProductWithTypeDto
    {



         public int PageCount { get; set; }
   
        /// <summary>
        /// 产品ID
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 货品编号
        /// </summary>
        [MaxLength(100)]
        public string ProductCode { get; set; } = string.Empty;

        /// <summary>
        /// 货品名称
        /// </summary>
        [MaxLength(200)]
        public string ProductName { get; set; } = string.Empty;

        /// <summary>
        /// 规格型号
        /// </summary>
        public string? Specification { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        [MaxLength(50)]
        public string? Unit { get; set; }



        /// <summary>
        /// 条码
        /// </summary>
        [MaxLength(100)]
        public string? BarCode { get; set; }

        /// <summary>
        /// 供应商ID
        /// </summary>
        public long SupplierId { get; set; }

        /// <summary>
        /// 入库参考价
        /// </summary>
        public decimal WarehousingPrice { get; set; }

        /// <summary>
        /// 出库参考价
        /// </summary>
        public decimal OutboundPrice { get; set; }

        /// <summary>
        /// 库存数量
        /// </summary>
        public int Number { get; set; }

        /// <summary>
        /// 库存金额
        /// </summary>
        public decimal Price { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [MaxLength(100)]
        public string CreateBy { get; set; } = string.Empty;

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 类型编码（来自产品类型表）
        /// </summary>
        [MaxLength(100)]
        public string ProductTypeCode { get; set; } = string.Empty;

        /// <summary>
        /// 类型名称（来自产品类型表）
        /// </summary>
        [MaxLength(100)]
        public string ProductTypeName { get; set; } = string.Empty;

        /// <summary>
        /// 类型备注（来自产品类型表）
        /// </summary>
        public string? Remark { get; set; }
    }
}
